package com.yungu.swift.system.sys.service;

import com.yungu.swift.base.ResponseData;
import com.yungu.swift.base.model.PageVo;
import com.yungu.swift.system.sys.model.dto.SysPointSiteDto;
import com.yungu.swift.system.sys.model.param.AdminSiteFenceParam;
import com.yungu.swift.system.sys.model.param.AdminWayPageParam;
import com.yungu.swift.system.sys.model.vo.AdminSystemPointSiteVo;

import java.util.List;
import java.util.Map;


/**
 * SystemPointSiteService
 **/

public interface SysPointSiteService {

    ResponseData<PageVo<AdminSystemPointSiteVo>> queryPage(AdminWayPageParam wayPageParam);

    ResponseData<SysPointSiteDto> findOne(Map<String, Object> params);

    ResponseData<List<SysPointSiteDto>> findByIds(List<String> uuids);

    ResponseData<List<SysPointSiteDto>> findOrigins(Map<String, Object> map);

    ResponseData<List<SysPointSiteDto>> findByOrderDri(Map<String, Object> map);

    ResponseData<List<SysPointSiteDto>> list(Map<String, Object> map);

    ResponseData<Boolean> updateStatus(String uuid, Integer integer);

    ResponseData<Boolean> updateState(String uuid, Integer integer);

    ResponseData<Map<String, Object>> saveOrUpdate(SysPointSiteDto site, List<AdminSiteFenceParam> fenceList);

    ResponseData<List<SysPointSiteDto>> findOriginsByQueue(Map<String, Object> paras);

    ResponseData<Boolean> checkFence(Double lng, Double lat, String siteUuid);

    /**
     * 根据代理信息获取全量起终点数据
     *
     * @param paramMap
     * @return
     */
    ResponseData<List<SysPointSiteDto>> allByOrganization(Map<String, Object> paramMap);
}